Cette page présente la mise en place d'une connexion entre une base MySQL et LibreOffice.
Description des logiciels utilisés :
Vous pouvez vous connectez avec Base de trois manières:
Depuis les versions 6 de LibreOffice, un connecteur est intégré à l'application. Il est donc inutile d'installer une extension ou d'activer les pools de connexions dans les préférences.
A la création du fichier Base, il faut successivement :
Ce type de connexion connaît parfois des bugs pour accéder à certaines tables.
Il n'est pas simple non plus de remplacer une connexion d'un autre type pour utiliser celle-là : nécessité de créer une nouvelle base et réintégrer les différents éléments (formulaires, requêtes, rapports, code).
Installez le paquet libreoffice-mysql-connector qui est une extension de connexion MariaDB/MySQL pour LibreOffice. Si vous avez des problèmes avec ce pilote sous Ubuntu 16.04 voir ici. Comme indiqué en ce lieu le JDBC fonctionne.
Alternative : ajouter une extension que vous pouvez télécharger à MySQL Driver.
Installez le paquet libha-jdbc-java. Dans Libreoffice, avant de pouvoir utiliser un pilote JDBC, vous devez ajouter son chemin de classe. Choisissez Outils → Options → LibreOffice → Avancé, et cliquez sur le bouton Chemin de classe. Naviguez jusqu'à l'archive qui se trouve dans /usr/share/java/mysql-connector-java-5.1.28.jar. Après avoir ajouté les informations de chemin, redémarrez LibreOffice.
Le paquet libha-jdbc-java ne fournit aucun pilote JDBC mais une abstraction de haute disponibilité à toute connectivité JDBC.
Une procédure détaillée pour lire une base access avec le pilote JDBC peut se trouver ici.
Commencez par installer les paquets libmyodbc et unixodbc-bin.
Maintenant lancez Unixodbc avec les droits d'adminstration, pour créer le pilote. Entrez la comamnde suivante dans un terminal :
gksudo ODBCManageDataSourcesQ4
pour toute cette partiename: Mysql description: Mysql driver driver: ou en 64 bits: /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so setup: /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so setup64
Laissez le reste par défaut et fermez ODBCManageDataSourcesQ4.
On va maintenant lancer ODBCManageDataSourcesQ4 en tant qu'utilisateur :
ODBCManageDataSourcesQ4
Onglet user dns, bouton add, sélectionnez le pilote nommé Mysql, puis cliquez sur le bouton OK
name: nom_de_la_base server: localhost database: nom_de_la_base
Laissez le reste par défaut et fermez ODBCManageDataSourcesQ4.
Dans LibreOffice :
Il faut bien-sûr que l'utilisateur existe dans la configuration de MySQL (ou utilisez phpMyAdmin). Si l'accès se fait à partir d'un autre poste, il faut là aussi créer un utilisateur spécifique avec les privilèges adéquats et configurer MySQL pour un droit d'accès de l'extérieur (voir sur la page MySQL).
Ça y est, vous avez maintenant accès à votre base MySQL sous LibreOffice.